﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using BDSUETableAdapters;

/// <summary>
/// Descripcion para GestionarPracticantes_FrLisPracticante
/// </summary>
public partial class GestionarPracticantes_FrLisPracticante : System.Web.UI.Page
{
    static DataTable practicantes;

    /// <summary>
    /// Permite obtener obtener la lista de los usuario en el formulario FrLisPracticane, los usuarios 
    /// estan almacenados en el archivo BDSUE.xsd
    /// para buscar por clave primaria al usuario solicitado.
    /// </summary>
    /// <param name="object sender, EventArgs e">Objeto para envio de informacion y argumentos que carga en la tabla</param>
    /// <returns>Lista de usuarios en el DataBind para hacer los llamados en el formulario y organizar luego los datos.</returns>
    protected void Page_Load(object sender, EventArgs e)
    {

        /// lineas de seguridad 
        if (Session["nit"] != null)
            Response.Redirect("/SUEWebSite/Error.aspx");
        else if (Session["nomUsr"] != null)
        {
            List<String> Permisos = (List<String>)Session["Permisos"];

            if (!Permisos.Contains(System.IO.Path.GetFileName(HttpContext.Current.Request.FilePath)))
                Response.Redirect("/SUEWebSite/Error.aspx");

        }
        else Response.Redirect("/SUEWebSite/Principal.aspx");

        /// lineas de seguridad 

        if (!Page.IsPostBack)
        {
            GestionarPracticantes gp = new GestionarPracticantes();
            GVListaPracticantes.DataSource = gp.ObtPracticantesPorEstado("habilitado");
            GVListaPracticantes.DataBind();
            CargarProgramas();
        }
    }

    protected void CargarProgramas()
    {
        Programa tmp = new Programa();
        List<Programa> programas = tmp.consultarProgramas();
        foreach (Programa prog in programas)
            DropDownListPrograma.Items.Add(new ListItem(prog.ObtNombre()));
    }

    protected void DropDownListEstado_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (DropDownListEstado.SelectedValue == "habilitado")
        {
            GestionarPracticantes gp = new GestionarPracticantes();
            GVListaPracticantes.DataSource = gp.ObtPracticantesPorEstado("habilitado");
        }
        if (DropDownListEstado.SelectedValue == "deshabilitado")
        {
            GestionarPracticantes gp = new GestionarPracticantes();
            GVListaPracticantes.DataSource = gp.ObtPracticantesPorEstado("deshabilitado");
        }
        if (DropDownListEstado.SelectedValue == "Todos")
        {
            GestionarPracticantes gp = new GestionarPracticantes();
            GVListaPracticantes.DataSource = gp.ObtPracticantesInfoCompleta();
        }
        GVListaPracticantes.DataBind();

    }
    protected void ButtonBuscar_Click(object sender, EventArgs e)
    {
        string NomPracticante = TextBoxNom.Text;
        string ApePracticante = TextBoxApe.Text;
        string codigoPracticante = TextBoxCodigo.Text;
        string estadoPracticante = DropDownListEstado.SelectedValue;
        string programaAcademico = DropDownListPrograma.SelectedValue;
        GestionarPracticantes gp = new GestionarPracticantes();
        practicantes = gp.BusquedaAvanzada(NomPracticante, ApePracticante, codigoPracticante, estadoPracticante, programaAcademico);
        GVListaPracticantes.DataSource = practicantes;
        GVListaPracticantes.DataBind();
    }
    protected void GVListaPracticantes_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        GVListaPracticantes.DataSource = practicantes;
        GVListaPracticantes.PageIndex = e.NewPageIndex;
        GVListaPracticantes.DataBind();
    }

    protected void LinkButtonVer_Command(object sender, CommandEventArgs e)
    {
        Response.Redirect("FrModPracticante.aspx?nombreUsuario=" + e.CommandArgument);
    }
}
